#include <iostream>
#include "ShareMemory.hpp"
#include <string.h>
#include "Time.hpp"
#include "Fifp.hpp"

int main()
{
    shm.GetShm();
    shm.AttachShm();
    gpipe.OpenPipeForWrite();

    struct data *image = (struct data*)shm.GetAddr();

    //int cnt = 2;
    while(true)
    {
        strcpy(image->status, "最新");
        strcpy(image->lasttime, GetCurrTime().c_str());
        strcpy(image->image, "IsLand1314");
        gpipe.Signal();
        sleep(3);
    }

    shm.DetachShm();
    return 0;
}










// int main()
// {
//     shm.GetShm();
//     shm.AttachShm();
    
//     // 进行 IPC 通信
//     char *strinfo = (char*)shm.GetAddr();

//     //检测： Server 和 client 映射虚拟地址不同
//     // sleep(5);
//     // printf("client 虚拟地址：%p\n", strinfo);
//     // sleep(5);

//     char ch = 'A';
//     while(ch <= 'Z')
//     {
//         sleep(3);
//         strinfo[ch - 'A'] = ch; // 这里操作共享内存没用系统调用
//         ch++;
//     }

//     shm.DetachShm();
//     return 0;
// }



// int main()
// {
//     shm.GetShm();
//     shm.AttachShm();
//     sleep(5);
//     std::cout << "client attach done" << std::endl;

//     // addr -> 写入
//     shm.DetachShm();
//     std::cout << "client detach done" << std::endl;
//     sleep(5);
//     return 0;
// }
